VAccination Report

USA’s Battle with COVID-19

rm(list=ls())
source("../DATA/movavg.R")

db <- dbConnect(SQLite(), dbname="../COVID-19-DB/OURWORLD.sqlite3")
df <- dbGetQuery(db,"select * from JHU")
df <- subset(df,location =="United States"  )
df$date <- as.Date(df$date)
sum(df$new_cases,na.rm = TRUE)
## [1] 26435556
sum(df$new_deaths,na.rm=TRUE)
## [1] 446885
US <- subset(df,date >="2020-04-01" & new_cases >=1)
US <- US[order(US$date,decreasing = TRUE),]
US$MAC <- ma(US$new_cases,7,centre=TRUE)
US$MAD <- ma(US$new_deaths,7,centre=TRUE)
US$Rate <- US$new_deaths/US$new_cases

USA’s Vaccine Rollout

vac <- dbGetQuery(db,"select * from OWID where location = 'United States'")
vac$date <- as.Date(vac$date)
vac <- vac[order(vac$date),]
vac <- vac %>% filter(date >="2012-1-15")
vac <- vac %>%select(date,location,iso_code,new_vaccinations,
                    total_vaccinations,population,
                    people_vaccinated,people_fully_vaccinated

) %>%
                    na.omit()
summary(vac$speople_vaccinated)
## Length  Class   Mode 
##      0   NULL   NULL
summary(vac$people_fully_vaccinated)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 1342086 2666455 3414156 3693339 4900589 6064792

Doses Administered

p5 <- ggplot(vac) + geom_line(aes(x=date,y=new_vaccinations)) +
  scale_y_continuous(labels=comma) +
  labs(title="USA's Daily Doses By Date") +
 geom_point(aes(x=date,y=new_vaccinations))
ggplotly(p5)
p6 <- ggplot(vac) + geom_line(aes(x=date,y=total_vaccinations)) +
  scale_y_continuous(labels=comma) +
  labs(title="USA's Total (Full) Doses Date")
ggplotly(p6)

People Vaccinated

 p5 <- ggplot(vac) + geom_line(aes(x=date,y=people_vaccinated)) +
   scale_y_continuous(labels=comma) +
   labs(title="USA's Number of People Vaccinatations By Date")
  #  geom_smooth(aes(x=date,y=))
 ggplotly(p5)
p6 <- ggplot(vac) + geom_line(aes(x=date,y=people_fully_vaccinated)) +
  scale_y_continuous(labels=comma) +
  labs(title="USA's Total  Number of People Fully Vaccinated By Date")
ggplotly(p6)
vac$Rate <- vac$people_vaccinated/vac$population
vac$Rate1 <- vac$people_fully_vaccinated/vac$population
p7 <- ggplot(vac) + geom_line(aes(x=date,y=Rate,col="Total People")) + 
  geom_line(aes(x=date,y=Rate1,col="Full Vaccine")) +
     scale_y_continuous(labels=percent) +  ylim(0,0.15) +
   labs(title="USA's  vaccination Rate By Day") 
## Scale for 'y' is already present. Adding another scale for 'y', which will
## replace the existing scale.
 ggplotly(p7)

USA COVID19 Mortality Rate

A <- subset(US,date >="2020-02-01")
ggplot(A) + # geom_line(aes(x=date,y=Rate)) +
  scale_y_continuous(labels = scales::percent) +
  labs(title="USA COVID19 Mortality Rate ",x="Date date",y="Mortality Rate") +
  geom_hline(yintercept = mean(A$Rate),col="red") +
  geom_line(aes(x=date,y=Rate,col="Rolling Mean")) +
  geom_smooth(aes(x=date,y=Rate))
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Plot of Daily Cases and Deaths

daily_new_cases <-ggplot(US) + 
  labs(title="COVID-19 new_cases by Date",y="Cases") +
    geom_line(aes(x=date,y=MAC,col="Mov Average")) +
   geom_line(aes(x=date,y=new_cases,col="Daily Cases"))
ggplotly(daily_new_cases)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
daily_new_deaths <-ggplot(US) + 
  labs(title="COVID-19 Deaths by Date",col="Deaths",y="Deaths")  +
  geom_line(aes(x=date,y=MAD,col="Mov. Average")) +
   geom_line(aes(x=date,y=new_deaths,col="Daily Deaths"))
 ggplotly(daily_new_deaths)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.

Non-Moving Average By Week and By Month

US$Monthly <- as.Date(cut(US$date,
  breaks = "month"))
US$Weekly <- as.Date(cut(US$date,
  breaks = "week",
  start.on.monday = FALSE))
Weekly_new_cases <- aggregate(new_cases~Weekly,US,FUN=sum)
Weekly_new_deaths <- aggregate(new_deaths~Weekly,US,FUN=sum)
Weekly_new_cases$DRate <- Weekly_new_deaths$new_deaths/Weekly_new_cases$new_cases
Weekly_new_cases$LivedSaved <- Weekly_new_cases$new_cases * (max(Weekly_new_cases$DRate) - Weekly_new_cases$DRate) 
ggplot(Weekly_new_cases) + geom_col(aes(x=Weekly,y=new_cases)) + 
  labs(title="Weekly new_cases",x="Date date", y="Weekly new_cases") +
   scale_alpha_date()

ggplot(Weekly_new_deaths) + geom_col(aes(x=Weekly,y=new_deaths)) + 
  labs(title="Weekly new_deaths",x="Date date", y="Weekly new_deaths") 

Monthly new_cases and new_deaths

Monthly_new_cases <- aggregate(new_cases~Monthly,US,FUN=sum)
Monthly_new_deaths <- aggregate(new_deaths~Monthly,US,FUN=sum)
Monthly_new_cases$DRate <- Monthly_new_deaths$new_deaths/Monthly_new_cases$new_cases
Monthly_new_cases$LivedSaved <- Monthly_new_cases$new_cases * (max(Monthly_new_cases$DRate) - Monthly_new_cases$DRate) * 100
ggplot(Monthly_new_cases) + geom_col(aes(x=Monthly,y=new_cases)) +
  labs(title="Monthly new_cases") +
  scale_y_continuous(labels=scales::comma) +
   scale_alpha_date()

ggplot(Monthly_new_deaths) + geom_col(aes(x=Monthly,y=new_deaths)) +
  labs(title="Monthly new_deaths") +
   scale_alpha_date()